CC = g++
CFLAGS = -g -std=c++11 -Wall -O2
LFLAGS = -pthread -lmysqlcppconn
DFLAGS = -DET_MODE
BIN_ROOT = ./bin/
SRC_ROOT = ./src/
# INCLUDE_ROOT = ./include/
LIB = $(BIN_ROOT)http_conn.o $(BIN_ROOT)time_heap.o $(BIN_ROOT)db_connection_pool.o $(BIN_ROOT)log.o $(BIN_ROOT)utils.o $(BIN_ROOT)main_run.o

main_run : http_conn.o time_heap.o db_connection_pool.o log.o utils.o main_run.o
	$(CC) $(CFLAGS) $(LIB) -o $(BIN_ROOT)main_run $(LFLAGS) $(DFLAGS)

http_conn.o : $(SRC_ROOT)http_conn.cpp
	$(CC) $(CFLAGS) -c $(SRC_ROOT)http_conn.cpp  -o $(BIN_ROOT)http_conn.o
time_heap.o : $(SRC_ROOT)time_heap.cpp
	$(CC) $(CFLAGS) -c $(SRC_ROOT)time_heap.cpp -o $(BIN_ROOT)time_heap.o
db_connection_pool.o : $(SRC_ROOT)db_connection_pool.cpp
	$(CC) $(CFLAGS) -c $(SRC_ROOT)db_connection_pool.cpp -o $(BIN_ROOT)db_connection_pool.o
log.o : $(SRC_ROOT)log.cpp
	$(CC) $(CFLAGS) -c $(SRC_ROOT)log.cpp -o $(BIN_ROOT)log.o
utils.o : $(SRC_ROOT)utils.cpp
	$(CC) $(CFLAGS) -c $(SRC_ROOT)utils.cpp -o $(BIN_ROOT)utils.o
main_run.o : $(SRC_ROOT)main_run.cpp
	$(CC) $(CFLAGS) -c $(SRC_ROOT)main_run.cpp -o $(BIN_ROOT)main_run.o

clean:
	rm $(BIN_ROOT)*
